1. Field of the Invention
The present invention pertains to the field of video systems. More particularly, this invention relates to a video conferencing system that provides fast recovery from losses of communication packets that contain compressed video data.
2. Background
Prior video conferencing systems typically comprise a set of video communication nodes coupled for communication over a communication link or communication network. Such video communication nodes typically exchange digital communication packets via the communication network. The digital communication packets usually contain digitized video and digitized audio information.
Typically in such systems, a source video communication node generates digitized video information by performing digital sampling on a video signal generated by a video camera. The source video communication node usually encodes the digitally sampled video signal by performing digital data compression on the incoming digital video bit stream from the video camera. The source communication node then typically packetizes and transmits the compressed video data to a destination communication node over the communication network. The destination video communication node typically receives the compressed video data over the communication network and reconstructs a decompressed version of the original digitally sampled video signal by decoding the compressed video data.
Typically in such systems, the digital video bit stream from the video camera comprises a series of real-time video frames. Each video frame usually comprises an array of video pixel information including color and intensity values that represent the original video scene sensed by the video camera. The source video communication node typically encodes each video frame relative to the immediately preceding video frame. For example, some prior systems encode each video frame by subtracting the video pixel information for the preceding video frame on a pixel by pixel basis. Such an encoded video frame is typically referred to as a delta frame. A compressed video frame that is not encoded relative to any other video frame is typically referred to as an intraframe.
The source video communication node typically segments such encoded video frames into packets and transmits the encoded packets to the destination video communication node over the communication network. The destination video communication link receives the encoded packets over the communication network and reassembles the encoded video frames. The destination communication node typically decodes the incoming delta frames by adding the delta frame data to the preceding video frame on a pixel by pixel basis.
In such a system, transmission errors on the communication network may cause the loss of encoded packets or the late arrival of encoded packets at the destination video communication node. Such packet losses usually prevent the destination video communication node from properly reassembling the series of encoded video frames. As a consequence, the destination video communication node cannot properly decode an incoming video frame that follows a lost video frame because the incoming video frame is encoded relative to the lost frame.
Some prior systems recover from such packet losses by transmitting an intraframe request from the destination communication node to the source communication node if a packet is lost or received out of sequence at the destination node. The intraframe request causes the source communication node to assemble an intraframe and transmit the intraframe to the destination video communication node over the communication link. The intraframe provides the destination communication node with a fresh basis for decoding subsequent video frames from the source video communication node. Unfortunately, such a system that employs intraframe requests typically suffers from high latency during packet loss recovery due to the time required to transmit the intraframe request from the destination video communication node to the source video communication node. In addition, the time required for the source video communication node to encode an intraframe increases the latency because intraframes are typically much larger than the delta flames that are lost.
Other prior systems perform packet loss recovery by periodically transmitting an intraframe from the source video communication node to the destination video communication node. Such a periodic transmission of intraframes regularly provides the destination video communication node with a fresh basis for decoding delta frames. Unfortunately, such periodic transmission of intraframes increases the overall bit rate required by the system on the communication network. Such an increased bit rate typically increases the cost of the communication network services and thereby increases the cost of video conferencing. Moreover, an increased bit rate typically slows other traffic on the communication network.